package Stock;

import java.util.Stack;

/**
 * @Classname JZ09用两个栈实现队列 要求的是先进先出的结果
 * @Description TODO
 * @Date 2023/2/23 23:02
 * @Created by xjl
 */
public class JZ09用两个栈实现队列 {

    class CQueue {

        Stack<Integer> stack1;
        Stack<Integer> stack2;


        public CQueue() {
            stack1=new Stack<>();
            stack2=new Stack<>();
        }

        public void appendTail(int value) {
            stack1.add(value);
        }

        /**
         * @description 先判断是否为空 如果是空的判断stack1是否有数据 如果没有 返回-1 如果有的
          * @param:
         * @date: 2023/2/23 23:12
         * @return: int
         * @author: xjl
        */
        public int deleteHead() {
            if (stack2.isEmpty()) {
                if (stack1.isEmpty()) {
                    return -1;
                }
                while (!stack1.isEmpty()) {
                    stack2.push(stack1.pop());
                }
            }
            return stack2.pop();
        }
    }

}


